Portable navigation devices (PNDs) that include GPS (Global Positioning System) signal reception and processing functionality are well known, and are widely employed as in-car or other vehicle navigation systems.
In general terms, a modern PND comprises a processor, memory (at least one of volatile and non-volatile, and commonly both), and map data stored within said memory. The processor and memory cooperate to provide an execution environment in which a software operating system may be established, and additionally it is commonplace for one or more additional software programs to be provided to enable the functionality of the PND to be controlled, and to provide various other functions.
Typically these devices further comprise one or more input interfaces that allow a user to interact with and control the device, and one or more output interfaces by means of which information may be relayed to the user. Illustrative examples of output interfaces include a visual display and a speaker for audible output. Illustrative examples of input interfaces include one or more physical buttons to control on/off operation or other features of the device (which buttons need not necessarily be on the device itself but could be on a steering wheel if the device is built into a vehicle), and a microphone for detecting user speech. In a particularly preferred arrangement the output interface display may be configured as a touch sensitive display (by means of a touch sensitive overlay or otherwise) to additionally provide an input interface by means of which a user can operate the device by touch.
Devices of this type will also often include one or more physical connector interfaces by means of which power, and optionally data signals, can be transmitted to and received from the device, and optionally one or more wireless transmitters/receivers to allow communication over cellular telecommunications and other signal and data networks, for example Wi-Fi, Wi-Max GSM and the like.
PND devices of this type also include a GPS antenna by means of which satellite-broadcast signals, including location data, can be received and subsequently processed to determine a current location of the device.
The PND device may also include electronic gyroscopes and accelerometers which produce signals that can be processed to determine the current angular and linear acceleration, and in turn, and in conjunction with location information derived from the GPS signal, velocity and relative displacement of the device and thus the vehicle in which it is mounted. Typically such features are most commonly provided in in-vehicle navigation systems, but may also be provided in PND devices if it is expedient to do so.
The utility of such PNDs is manifested primarily in their ability to determine a route between a first location (typically a start or current location) and a second location (typically a destination). These locations can be input by a user of the device, by any of a wide variety of different methods, for example by postcode, street name and house number, previously stored “well known” destinations (such as famous locations, municipal locations (such as sports grounds or swimming baths or other points of interest), and favourite or recently visited destinations.
Typically, the PND is enabled by software for computing a “best” or “optimum” route between the start and destination address locations from the map data. A “best” or “optimum” route is determined on the basis of predetermined criteria and need not necessarily be the fastest or shortest route. The selection of the route along which to guide the driver can be very sophisticated, and the selected route may take into account historical, existing and/or predicted traffic and road information.
In addition, the device may continually monitor road and traffic conditions, and offer to or choose to change the route over which the remainder of the journey is to be made due to changed conditions. Real time traffic monitoring systems, based on various technologies (e.g. mobile phone data exchanges, fixed cameras, GPS fleet tracking) are being used to identify traffic delays and to feed the information into notification systems.
PNDs of this type may typically be mounted on the dashboard or windscreen of a vehicle, but may also be formed as part of an on-board computer of the vehicle radio or indeed as part of the control system of the vehicle itself. The navigation device may also be part of a hand-held system, such as a PDA (Portable Digital Assistant) a media player, a mobile phone or the like, and in these cases, the normal functionality of the hand-held system is extended by means of the installation of software on the device to perform both route calculation and navigation along a calculated route.
Route planning and navigation functionality may also be provided by a desktop or mobile computing resource running appropriate software. For example, an on-line route planning and navigation facility is provided at routes.tomtom.com, which facility allows a user to enter a start point and a destination, whereupon the server to which the user's PC is connected calculates a route (aspects of which may be user specified), generates a map, and generates a set of exhaustive navigation instructions for guiding the user from the selected start point to the selected destination. The facility also provides for pseudo three-dimensional rendering of a calculated route, and route preview functionality which simulates a user travelling along the route and thereby provides the user with a preview of the calculated route.
In the context of a PND, once a route has been calculated, the user interacts with the navigation device to select the desired calculated route, optionally from a list of proposed routes. Optionally, the user may intervene in, or guide, the route selection process, for example by specifying that certain routes, roads, locations or criteria are to be avoided or are mandatory for a particular journey. The route calculation aspect of the PND forms one primary function, and navigation along such a route is another primary function.
During navigation along a calculated route, it is usual for such PNDs to provide visual and/or audible instructions to guide the user along a chosen route to the end of that route, i.e. the desired destination. It is also usual for PNDs to display map information on-screen during the navigation, such information regularly being updated on-screen so that the map information displayed is representative of the current location of the device, and thus of the user or user's vehicle if the device is being used for in-vehicle navigation.
An icon displayed on-screen typically denotes the current device location, and is centred with the map information of the current road and surrounding roads in the vicinity of the current device location and other map features also being displayed. Additionally, navigation information may be displayed, optionally in a status bar above, below or to one side of the displayed map information, examples of navigation information include a distance to the next deviation from the current road required to be taken by the user, the nature of that deviation possibly being represented by a further icon suggestive of the particular type of deviation, for example a left or right turn. The navigation function also determines the content, duration and timing of audible instructions by means of which the user can be guided along the route. As can be appreciated a simple instruction such as “turn left in 100 m” requires significant processing and analysis. As previously mentioned, user interaction with the device may be by a touch screen, or additionally or alternately by steering column mounted remote control, by voice activation or by any other suitable method.
A further important function provided by the device is automatic route re-calculation in the event that: a user deviates from the previously calculated route during navigation (either by accident or intentionally); real-time traffic conditions dictate that an alternative route would be more expedient and the device is suitably enabled to recognize such conditions automatically, or if a user actively causes the device to perform route re-calculation for any reason.
Although the route calculation and navigation functions are fundamental to the overall utility of PNDs, it is possible to use the device purely for information display, or “free-driving”, in which only map information relevant to the current device location is displayed, and in which no route has been calculated and no navigation is currently being performed by the device. Such a mode of operation is often applicable when the user already knows the route along which it is desired to travel and does not require navigation assistance.
Devices of the type described above provide a reliable means for enabling users to navigate from one position to another.
More recently it has been recognised that there may be some drawbacks associated with arrangements in which a navigation device generates routes independently, in a standalone manner. Often users do not update the electronic map data of the navigation device regularly, which may prevent optimal routes from being generated by the device. Furthermore, the storage and processing capacity of such devices is inherently limited, which may constrain the route generation process, and limit the amount of information that the device is able to provide in relation to the generated route. For example, the device may not be able to provide additional non-core information that may be of interest to the user in relation to the route, such as audio street name prompts.
One alternative approach to generating routes is for all electronic map data and routing functionality to be provided at a server on behalf of client navigation devices. A navigation device will then submit a request for a route to a server. The server generates the route on behalf of the device, and transmits it to the device, in some cases together with the electronic map data that will be required by the device in order to use the route. This may overcome some of the problems associated with systems in which the route generation is carried out entirely by a navigation device. For example, a server may have access to up to date electronic map data, and will have the processing and storage capability to carry out more complex routing processes. The server may provide more detailed route data to the navigation device, allowing the device to use such data without needing to store more detailed electronic map data itself. However, relying entirely upon a server to provide routing functionality in this way may be problematic. For example, when a navigation device is unable to establish communication with the server, route generation will not be possible. Difficulties are compounded in arrangements which also rely upon the navigation device being able to communicate with the server in order to obtain map data.
In order to address certain of these problems, it has been recognised that rather than having route generation occur entirely at either a navigation device or server, it may be advantageous for route generation to be carried out in part by the navigation device, and in part by a server in communication therewith. This type of system is known as a “hybrid” routing system. In these arrangements, both the server and navigation device have access to electronic map data. A navigation device may provide details of an origin, whether a current position or user specified position, and a destination for a desired route to the server, and request that the server generates a route between the origin and destination. The server may then generate the route in relation to its own electronic map data. As the server will have greater processing power and storage capacity than a client navigation device, it may employ more complex routing processes. Furthermore, the server may have access to more up to date and comprehensive electronic map data. The electronic map data may be customised in a proprietary manner. For example, a server may generate a route using electronic map data from a vehicle manufacturer that incorporates point of interest data that is considered to be relevant to users of their vehicles.
Once the route is generated, the server transmits the route to the client navigation device that requested the route. Thus, the route generation occurs off-board, i.e. external to the navigation device. Before the client navigation device can use the received route, e.g. to provide navigation instructions and/or display the route, it must carry out an operation to reconstruct the received route in relation to its own local electronic map data. This is because the received route may not be in the same format that is required by the navigation device, and it will generally not have been generated in relation to the same electronic map data that is held by the navigation device. It is necessary to match locations associated with the generated route to locations in the local electronic map of the device. For example, a server may provide generated route information to client devices in a generic format, from which the individual devices may then reconstruct routes in the manner required for compatibility with their own specific electronic map data.
It will be seen that such hybrid routing systems may retain some of the benefits associated with route generation solely at either a navigation device or server, while mitigating some of the drawbacks of those systems. Examples of hybrid routing systems are described in WO 2007/079042 A2, entitled “Intelligent Location Based Services and Navigation Hybrid System”, and WO 00/40930 A1 entitled “Mobile Navigation System”.
There are some challenges involved in implementing hybrid routing systems. One particular problem is concerned with the reconstruction of received routes by a client navigation device. In order to do this, the navigation device needs to be able to correlate data indicative locations to be included in the route which is received from the server with locations represented by its own electronic map data.
One way to achieve this is for the server to use an identical map when generating the route to the local electronic map that is used by the navigation device. The navigation device may then simply identify specified navigable segments for inclusion in the route from the received generated route information as the navigable segments would have the same identifier in both sets of map data. However, in practice, such arrangements are unduly limiting.
Various techniques have been proposed that are intended to allow a navigation device to reconstruct a route received from a server without requiring the server to generate the route in relation to the same electronic map that is used by the device. One such technique involves the server transmitting a generated route in the form of a list of waypoints. The navigation device then correlates the waypoints with locations represented by its electronic map, and constructs a route that passes through the waypoints. However, such methods may be inefficient in that in order to accurately describe a generated route, a large number of waypoints may be needed. Furthermore, there may be difficulties in matching received waypoints to locations in the local electronic map of the navigation device, particularly where the device map data is of significantly lower quality or resolution than the server map data. For example, the server may transmit the coordinates of a waypoint. However, these coordinates may correlate to a different position in the device map than in the server map.
One way to try to avoid problems arising due to differences between server and device electronic maps, is to use map agnostic location referencing. The server may generate a route in relation to its electronic map data, and convert the route information, e.g. waypoints into a map agnostic form for transmission to a navigation device. This may be carried out by encoding the locations, e.g. of waypoints in accordance with a map agnostic location referencing system. The device may receive the encoded location information, and decode the information to obtain a location in its own electronic map that corresponds to the location in the server's electronic map that was originally encoded. Examples of such map agnostic systems include AGORA-C, OpenLR™ and TPEG-ULR. These techniques typically encode the route (or line location) as a set of location points, specified by coordinate pairs of latitude and longitude, and ordered in a list; the location points each being provided with one or more additional attributes (typically derived from the electronic map data) that can assist in better defining the location when decoding the line location on a different electronic map.
In addition to any difficulty with map matching, one further drawback with the existing hybrid routing systems is that when reconstructing the received route, the navigation device attempts to recreate, i.e. replicate the route generated by the server. The navigation device does not have the latitude to modify the route, e.g. if live data available to the device suggests that an alternative to at least a portion of the route may be preferable. For example, the device may have access to live traffic information that indicates that a part of the route is affected by a jam.
The Applicant has realised that there remains a need for improved methods and systems which enable the reconstruction of a given route through a navigable network in relation to an electronic map representative of the network, e.g. by a navigation device. Although being particularly advantageous in the context of hybrid routing, enabling the reconstruction of a route received by a navigation device from a server, the methods and systems of the invention have wider applicability than merely in the reconstruction of a previously calculated route, and may also be used in any context where it is desired to reconstruct a route, such as in the reconstruction of a previously travelled route.